package com.reservation.service;

import com.reservation.dto.user.booking.ConfirmReservationDTO;
import com.reservation.dto.user.booking.PayDTO;
import com.reservation.dto.user.booking.RoomFilterDTO;
import com.reservation.vo.user.AvailableRoomVO;
import com.reservation.vo.user.ConfirmReservationVO;

import java.util.List;

/**
 * 会议室查询与预约服务接口
 */
public interface BookingService {


    
    /**
     * 根据条件筛选可预约的会议室
     * @param filterDTO 筛选条件
     * @return 可预约的会议室列表
     */
    List<AvailableRoomVO> filterAvailableRooms(RoomFilterDTO filterDTO);

    /**
     * 确认预约会议室
     * @param confirmReservationDTO 预约信息
     * @return 预约结果
     */
    ConfirmReservationVO confirmReservation(ConfirmReservationDTO confirmReservationDTO);

    /**
     * 支付会议室预约费用
     * @param payDTO 支付信息
     */
    void pay(PayDTO payDTO);
}